export interface ResponseData {
	code: number,
	message: string,
	ok: boolean
}

export interface BookingRule {
	cycle: number;
	releaseTime: string;
	stopTime: string;
	quitDay: number;
	quitTime: string;
	rule: string[];
}

export interface Param {
	hostypeString: string;
	fullAddress: string;
}

export interface Hospital {
	id: string;
	createTime: string;
	updateTime: string;
	isDeleted: number;
	param: Param;
	hoscode: string;
	hosname: string;
	hostype: string;
	provinceCode: string;
	cityCode: string;
	districtCode: string;
	address: string;
	logoData: string;
	intro?: any;
	route: string;
	status: number;
	bookingRule?: any;
}

export interface HosPitalDetail {
	bookingRule: BookingRule;
	hospital: Hospital;
}

export interface HospitalDetail extends ResponseData {
	data: HosPitalDetail;
}
// <------------------->
export interface Children {
	depcode: string;
	depname: string;
	children?: any;
}

export interface Deparment {
	depcode: string;
	depname: string;
	children: Children[];
}
//代表存储科室数组类型
export type DeparmentArr = Deparment[];

export interface DeparmentResponseData extends ResponseData {
	data: DeparmentArr;
}
//用户登录接口需要携带参数类型
export interface LoginData {
	phone: string,
	code: string
}

export interface UserInfo {
	name: string,
	token: string
}

//登录接口返回的数据的ts类型
export interface UserLoginResponseData extends ResponseData {
	data: UserInfo;
}

//定义微信扫码登录返回的数据的ts类型
export interface WXLogin {
	"redirectUri": string,
	"appid": string,
	"scope": string,
	"state": string
}

export interface WXLoginResponseData extends ResponseData {
	data: WXLogin
}

export interface BaseMap {
	"workDateString": string,
	"releaseTime": string,
	"bigname": string,
	"stopTime": string,
	"depname": string,
	"hosname": string
}

export interface WorkData {
	"workDate": string,
	"workDateMd": string,
	"dayOfWeek": string,
	"docCount": number,
	"reservedNumber": null,
	"availableNumber": number,
	"status": number
}

export type BookingScheduleList = WorkData[]

export interface HospitalWordData extends ResponseData {
	data: {
		total: number,
		bookingScheduleList: BookingScheduleList,
		baseMap: BaseMap
	}
}


export interface RootObjectParam {
	dayOfWeek: string;
	depname: string;
	hosname: string;
}

export interface Doctor {
	id: string;
	createTime: string;
	updateTime: string;
	isDeleted: number;
	param: RootObjectParam;
	hoscode: string;
	depcode: string;
	title: string;
	docname: string;
	skill: string;
	workDate: string;
	workTime: number;
	reservedNumber: number;
	availableNumber: number;
	amount: number;
	status: number;
	hosScheduleId: string;
}

export interface DoctorResponseData extends ResponseData {
	data: Doctor[];
}

//代表的是一个就诊人数据ts类型
export interface User {
    "id": number,
    "createTime": string,
    "updateTime": string,
    "isDeleted": number,
    "param": {
        "certificatesTypeString": string,
        "contactsCertificatesTypeString": string,
        "cityString": null,
        "fullAddress": string,
        "districtString": null,
        "provinceString": null
    },
    "userId": number,
    "name": number,
    "certificatesType": string,
    "certificatesNo": string,
    "sex": number,
    "birthdate": string,
    "phone": string,
    "isMarry": number,
    "provinceCode": null,
    "cityCode": null,
    "districtCode": null,
    "address": string,
    "contactsName": string,
    "contactsCertificatesType": string,
    "contactsCertificatesNo": string,
    "contactsPhone": string,
    "isInsure": number,
    "cardNo": null,
    "status": string
}
export type UserArr = User[];
export interface UserResponseData extends ResponseData {
    data: UserArr
}



//获取某一个挂号医生数据详情

export interface DoctorInfoData extends ResponseData{
    data:Doctor
}